const clickoutside = {
    bind(el, binding, vnode) {
        const handleClick = function(e) {
            // 如果当前元素不包含目标组件，也就是隐藏日历组件
            // 这个vnode就是组建的虚拟dom
            if(!el.contains(e.target)) {
                // 拿到日历组件的实例，expression就是我们指令传进来的操作；
                vnode.context[binding.expression]();
            }
        }
        // 为了方便移除
        el.handleClick = handleClick;
        document.addEventListener('click', handleClick);
    },
    unbind(el) {
        document.removeEventListener('click', el.handleClick);
    }
}
export default clickoutside;